from matplotlib import pyplot as plt
import random
import matplotlib
from matplotlib import font_manager


#windws和linux设置字体的方式
font = {'family' : 'MicroSoft YaHei',
        'weight': 'bold',
        'size': 'larger'}
# matplotlib.rc("font",**font) # 这方法无效的
matplotlib.rc("font",family='MicroSoft YaHei',weight="bold")

# 另外一种设置字体的方式
my_font = font_manager.FontProperties(fname="/System/Library/Fonts/PingFang.ttc")
my_font = font

x = range(0, 120) #分钟
y = [random.randint(20, 35)for i in range(120)] # 温度 randint用于生成一个指定范围内的整数
print(y)

plt.figure(figsize=(10, 4), dpi = 80)

plt.plot(x, y)

#调整x轴的刻度
_xtick_labels = ["10点{}分".format(i) for i in range(60)]
_xtick_labels += ["11点{}分".format(i) for i in range(60)]

#取步长，数字和字符串一一对应，数据的长度一样
# range 不能取步长
plt.xticks(list(x)[::3], _xtick_labels[::3], rotation=45, fontproperties=my_font) #rotaion旋转的度数，有可能太长显示不长

#添加描述信息
plt.xlabel("时间",fontproperties=my_font)
plt.ylabel("温度 单位(℃)",fontproperties=my_font)
plt.title("10点到12点每分钟的气温变化情况",fontproperties=my_font)

plt.show()